hive报错

您所在的位置:网站首页 invalid column reference hive报错

hive报错

#hive报错| 来源: 网络整理| 查看: 265

1、Hive查询报错 Invalid table alias or column reference 'create_time': (possible column names are: _c0, _c1

解决办法:https://blog.csdn.net/qq_31573519/article/details/52790671

 

2、hive日期格式转换  

将 Tue May 20 22:41:01 CST 2014 转换为: yyyy-MM-dd HH:mm:ss

http://www.360doc.com/content/18/0626/21/8772388_765637973.shtml

 

3、group by去重

SELECT user_name,commentid,collect_set(title)[0] as title,collect_set(source)[0] as source,collect_set(content)[0] as content ,collect_set(time)[0] as time,collect_set(car_model)[0] as car_model FROM user_2morecars GROUP BY user_name,commentid;————————————————版权声明:本文为CSDN博主「HFUT_qianyang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qy20115549/article/details/83831307

 

4、hive分区表添加字段出现新增字段null的bug

注:实际上在添加字段是可以通过CASCADE关键字来,避免这种问题,如 alter table dw_hestia.dw_hestia_core_rent_unit add columns(ZIROOM_VERSION_ID string) CASCADE ;   5、hive并行跑 set hive.exec.parallel=true; set hive.exec.parallel.thread.number=32;   6、把表改成分区表 ALTER TABLE $HIVE_TABLE_NAME SET TBLPROPERTIES('EXTERNAL'='TRUE')   7、hive把空值处理成0 if(coalesce(trim(order_code),'')='',0,order_code)   8、sqoop  从hive导到oracle报错 Error: java.lang.NumberFormatException at java.math.BigDecimal.(BigDecimal.java:494) at java.math.BigDecimal.(BigDecimal.java:383) at java.math.BigDecimal.(BigDecimal.java:806) at org.apache.sqoop.mapreduce.hcat.SqoopHCatExportHelper.convertStringTypes(SqoopHCatExportHelper.java:275) at org.apache.sqoop.mapreduce.hcat.SqoopHCatExportHelper.convertToSqoop(SqoopHCatExportHelper.java:215) at org.apache.sqoop.mapreduce.hcat.SqoopHCatExportHelper.convertToSqoopRecord(SqoopHCatExportHelper.java:138) at org.apache.sqoop.mapreduce.hcat.SqoopHCatExportMapper.map(SqoopHCatExportMapper.java:56) at org.apache.sqoop.mapreduce.hcat.SqoopHCatExportMapper.map(SqoopHCatExportMapper.java:35) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145) at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

原因:hive里面的类型是string

oracle里面有varchar(2)he number

处理方法:

oracle里面number类型的在hive上进行处理:

if(coalesce(trim(t_index),'')='',0,t_index)

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3